#ifndef _ds1302_H // shift+U转换为大写
#define _ds1302_H

// 串行输入IO口
sbit DS1302IO = P3^4;
// 使能
sbit DS1302CE = P3^5;
// 时钟脉冲
sbit DSCLK = P3^6;
// 写命令 秒、分、时、日、月、周、年
unsigned char WRITE_COMMAND[7]={0x80, 0x82, 0x84, 0x86, 0x88, 0x8a, 0x8c};
// 读数据 秒、分、时、日、月、周、年
unsigned char READ_COMMAND[7]={0x81, 0x83, 0x85, 0x87, 0x89, 0x8b, 0x8d};
// 写保护
unsigned char WRITE_PRO=0X8E;
/**
 * 写数据到1302芯片
 * command 命令
 * datetime 数据
 */
void write_data(unsigned char command, unsigned char datetime);

/**
 * 从1302读数据
 * command 命令
*/
unsigned char read_data(unsigned char command);

/**
 * 10进制转BCD
*/
int decimal_bcd_code(int decimal);

/**
 * BCD转10进制
*/
int bcd_decimal_code(int bcd);

/**
 * 初始化，即关闭写保护->写数据->打开写保护
 * 年月日时分秒周
*/
void init_ds1302(unsigned int year,unsigned int month,unsigned int day,unsigned int  hour,unsigned int min,unsigned int sec,unsigned int wek);

/**
 * 读取数据
*/
unsigned int read_ds1302();
#endif